The present invention relates to a method and apparatus for iterative decoding and demodulation of a received signal and, more particularly, to a method of iterative decoding and demodulation using feedback attenuation to maintain balance between the demodulator and decoder.
The basic function of a communication system is to send information over a communication channel from a source that generates the information to one or more destinations. In a digital communication system, the information is converted into a digital format and transmitted over the communication channel. The transmission of digital information is subject to the adverse effects of the communication channel, such as co-channel interference, noise, dispersion, and fading. These effects introduce errors into the transmitted data stream, which can be particularly severe in a wireless communication system.
In 1948, Claude E. Shannon demonstrated in a landmark paper that proper encoding of the digital information can reduce errors introduced by a noisy channel to any desired level. Encoding is the process of adding redundancy to the digital information prior to its transmission so that a decoder at the receiving end can detect and correct any errors that may occur during transmission. The decoder uses the redundant information added at the transmitter and knowledge of the coding scheme to correct the data transmission errors.
In a conventional communication system, CRC bits are added to an information sequence to be transmitted. The original information sequence with the CRC bits are then encoded using a forward error correction code, such as a convolutional code. The coded information bits are then interleaved to provide greater robustness against burst errors. Following interleaving, the coded bits are fed to a modulator. The modulator divides the coded bits into groups of L bits and maps the grouped bits to symbols of a modulation constellation. The size of the modulation is 2L.
At the receiver, the received symbol sequence is fed to a demodulator. The demodulator performs reverse mapping of the received symbols into bit soft values. The bit soft values are de-interleaved and fed to a decoder. Taking the decoder's perspective, the bit soft values output from the demodulator are referred to herein as input soft values (ISVs). The decoder uses its knowledge of the coding scheme to decode the input soft values and generate an estimate of the original information bit sequence. The decoder uses the CRC bits to verify the accuracy of its estimate.
Despite the redundancy introduced by error coding, the estimate of the information bit sequence output by the decoder may contain residual bit errors. The distortion of the received signal caused by the communication channel causes the demodulator to make errors. Bit errors in the input soft values output by the demodulator, in turn, may exceed the error correcting capability of the decoder and thus cause the decoder to make errors in the decoding process. One measure of the performance of the decoder is the block error rate (BLER).
It is known that iterative demodulation and decoding can reduce the block error rate of a decoder. In conventional systems, the demodulator generates soft information that is fed forward to the decoder. The decoder uses the soft information to generate an estimate of the received signal. The main idea behind iterative demodulation and decoding is to repeatedly demodulate and decode the received signal while feeding back soft information from the decoder to the demodulator. The soft information fed back from the decoder to the demodulator is often referred to as extrinsic information. The extrinsic information may take the form of a sequence of extrinsic values (EVs) that correspond to respective input soft values output by the demodulator. In the first iteration, the decoder makes the same errors as a standard receiver. However, in the second and subsequent iterations, the demodulator processes the extrinsic values along with the received signal to produce new input soft values for the decoder. The block error rate of the decoder can be reduced if the extrinsic information fed back from the decoder to the demodulator helps reduce errors in the input soft values output by the demodulator. In general, the block error rate decreases with the number of iterations because of the feedback of extrinsic information from the decoder to the demodulator.
Iterative demodulation and decoding works well as long as there is a balance between the demodulator and the decoder. However, an imbalance between the demodulator and decoder can prevent the correction of decoding errors. Such imbalance may occur, for example, when the decoder makes a strong decision that is reflected in the extrinsic information fed back to the demodulator, thus forcing the demodulator to agree with the result already determined by the decoder. This type of imbalance occurs most often when the decoder uses a code with strong error correcting capabilities, such as a low-rate code or a code with a large number of states. In this case, the decoder may provide strong feedback even when it is incorrect.